package 面向对象上;
/**
 * static关键字知识要点：
 * 1：静态变量和静态方法及静态代码块
 * 静态变量：不能修饰局部变量（已经知道范围的变量叫做局部变量）；比如：int age=10；这些就是静态变量，不能放在方法体内
 * 静态方法：
 * @author 宋利军
 *
 */
class Aple{
	static String schoolName;//静态变量
	public static void sayHello(){//静态方法
		System.out.println("hello");
	}
	/**关于静态代码块的解析：
	 * 1：当类加载时，类的静态代码块被执行，由于类只加载一次，因此代码块只运行一次
	 * 
	 * @author 宋利军
	 */
	static{//静态代码块
		System.out.println("Aple类中的静态代码块被运行了");
	}
}
public class static关键字 {
	static{
		System.out.println("测试类中的静态代码块被执行");//自动执行
	}
		public static void main(String[] args) {
			Aple ap1=new Aple();
			Aple ap2=new Aple();
			/**关于静态static的引用：
			 * 静态static在创建对象之前就已经完成创建了，应该要使用对象的名称Aple进行引用才对
			 * @author 宋利军
			 */
			Aple.schoolName="化州第一中学";
			System.out.println("ap1同学说：我的学校是"+ap1.schoolName);
			System.out.println("ap2同学说：我的学校是"+ap2.schoolName);
			
			Aple.sayHello();//调用静态方法
		}
}
